/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * frmProcesoEmpadronamiento.java
 *
 * Created on 06/04/2011, 01:43:49 AM
 */

package verins.GUI;

import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import verins.BO.EstadoProcesoEmpadronamientoBO;
import verins.BO.EtapaProcesoEmpadronamientoBO;
import verins.BO.ProcesoEmpadronamientoBO;
import verins.BO.TipoEmpadronamientoBO;
import verins.beans.Estadoprocesoempadronamiento;
import verins.beans.Etapa;
import verins.beans.Etapaprocesoempadronamiento;
import verins.beans.EtapaprocesoempadronamientoPK;
import verins.beans.Procesoelectoral;
import verins.beans.Procesoempadronamiento;
import verins.beans.Tipoempadronamiento;
import verins.beans.Usuario;

/**
 *
 * @author Hector
 */
public class frmProcesoEmpadronamiento extends JDialog {

    private Procesoempadronamiento procesoEmpadronamiento =null;
    private List<Etapaprocesoempadronamiento> lstEtapaxproceso=null;
    private JDialog caller=null;
    private Procesoelectoral procesoElect=null;
    private Usuario usuario=null;
    
    /** Creates new form frmProcesoEmpadronamiento */
    public frmProcesoEmpadronamiento(Procesoempadronamiento procesoEmp,Procesoelectoral procesoelectoral,JDialog ventana, Usuario user) {
        super(ventana,true);
        caller=ventana;
        procesoElect=procesoelectoral;
        usuario=user;
        initComponents();
        verins.Utils.Comunes.centrarVentana(this);
        /*******restricciones********/
        setearValidadores();
        llenarCombos();
        /**********modo ventana***********/
        if (procesoEmp!=null){
            procesoEmpadronamiento=procesoEmp;
            lstEtapaxproceso=EtapaProcesoEmpadronamientoBO.findAll(procesoEmpadronamiento);
            mostrarDatos();
            //System.out.println(procesoEmpadronamiento.getEtapaprocesoempadronamientoList().size());
        }else{//nuevo
            lnkProcEmpad1.setVisible(false);
           if (procesoElect!=null){
               lblProcesoElectoral.setText(procesoElect.getNombre().toUpperCase());
           } 
           crearEtapas();
        }
    }


    private void setearValidadores(){
        txtDescripcion.setDocument(new verins.Utils.LimitInput(45));
        txtDescripcion.addKeyListener(verins.Utils.Verificador.verificaSoloCaracteresValidos());
        txtPorcFirmas.setDocument(new verins.Utils.LimitInput(2));
        txtPorcFirmas.addKeyListener(verins.Utils.Verificador.verificaSoloNumeros());
    }

    private void llenarCombos(){
        List lista=null;
        lista=EstadoProcesoEmpadronamientoBO.findAll();
        verins.Utils.Comunes.llenarCombo(cboEstado,lista);
        lista=TipoEmpadronamientoBO.findAll();
        verins.Utils.Comunes.llenarCombo(cboTipo, lista);
    }

    
    private Procesoempadronamiento obtenerDatos(){
        Procesoempadronamiento proceso=null;
       
        if (procesoEmpadronamiento==null){
            proceso=new Procesoempadronamiento();
            proceso.setIdprocesoempadronamiento(0);
            proceso.setDescripcion(txtDescripcion.getText());
            proceso.setFechainicio(calFechaInicio.getDate());
            proceso.setFechafin(calFechaFin.getDate());
            proceso.setIdestadoprocesoempadronamiento((Estadoprocesoempadronamiento)cboEstado.getSelectedItem());
            proceso.setIdtipoempadronamiento((Tipoempadronamiento)cboTipo.getSelectedItem());
            proceso.setIndiceminimofirmas(chkAnalisisMinimo.isSelected()?1:0);
            proceso.setIndicemuestraaleatoria(chkAnalisisMuestra.isSelected()?1:0);
            proceso.setIdprocesoelectoral(procesoElect);
            if (txtPorcFirmas.getText().trim().length()>0)
                proceso.setPorcentpoblacion(Integer.parseInt(txtPorcFirmas.getText()));
            procesoEmpadronamiento=proceso;
        }else{
            procesoEmpadronamiento.setDescripcion(txtDescripcion.getText());
            procesoEmpadronamiento.setFechainicio(calFechaInicio.getDate());
            procesoEmpadronamiento.setFechafin(calFechaFin.getDate());
            procesoEmpadronamiento.setIdestadoprocesoempadronamiento((Estadoprocesoempadronamiento)cboEstado.getSelectedItem());
            procesoEmpadronamiento.setIdtipoempadronamiento((Tipoempadronamiento)cboTipo.getSelectedItem());
            procesoEmpadronamiento.setIndiceminimofirmas(chkAnalisisMinimo.isSelected()?1:0);
            procesoEmpadronamiento.setIndicemuestraaleatoria(chkAnalisisMuestra.isSelected()?1:0);
            procesoEmpadronamiento.setIdprocesoelectoral(procesoElect);
            
        }
        obtenerEtapas();
        
        return procesoEmpadronamiento;
    }
    
    
    private void obtenerEtapas(){
        lstEtapaxproceso.get(0).setEstado(cboEstadoEtapa1.getSelectedItem().toString());
        lstEtapaxproceso.get(0).setFechainicio(calFechaIniEtapa1.getDate());
        lstEtapaxproceso.get(0).setFechafin(calFechaFinEtapa1.getDate());
        lstEtapaxproceso.get(1).setEstado(cboEstadoEtapa2.getSelectedItem().toString());
        lstEtapaxproceso.get(1).setFechainicio(calFechaIniEtapa2.getDate());
        lstEtapaxproceso.get(1).setFechafin(calFechaFinEtapa2.getDate());
        lstEtapaxproceso.get(2).setEstado(cboEstadoEtapa3.getSelectedItem().toString());
        lstEtapaxproceso.get(2).setFechainicio(calFechaIniEtapa3.getDate());
        lstEtapaxproceso.get(2).setFechafin(calFechaFinEtapa3.getDate());
        lstEtapaxproceso.get(3).setEstado(cboEstadoEtapa4.getSelectedItem().toString());
        lstEtapaxproceso.get(3).setFechainicio(calFechaIniEtapa4.getDate());
        lstEtapaxproceso.get(3).setFechafin(calFechaFinEtapa4.getDate());
        lstEtapaxproceso.get(4).setEstado(cboEstadoEtapa5.getSelectedItem().toString());
        lstEtapaxproceso.get(4).setFechainicio(calFechaIniEtapa5.getDate());
        lstEtapaxproceso.get(4).setFechafin(calFechaFinEtapa5.getDate());
    }
    
    private void crearEtapas(){
        Etapaprocesoempadronamiento etxpr=null;
        EtapaprocesoempadronamientoPK etPK=null;
        lstEtapaxproceso=new ArrayList<Etapaprocesoempadronamiento>();
        for (int i=0;i<5;i++){
            etxpr=new Etapaprocesoempadronamiento();
            etxpr.setEtapa(new Etapa(i+1));
            etPK=new EtapaprocesoempadronamientoPK();
            etPK.setIdetapa(i+1);
            etxpr.setProcesoempadronamiento(procesoEmpadronamiento);
            etxpr.setEtapaprocesoempadronamientoPK(etPK);
            lstEtapaxproceso.add(etxpr);
        }
    }
    
    private void mostrarDatos(){
        
        lblProcesoElectoral.setText(procesoElect.getNombre().toUpperCase());
        txtDescripcion.setText(procesoEmpadronamiento.getDescripcion());
        cboEstado.setSelectedItem(procesoEmpadronamiento.getIdestadoprocesoempadronamiento());
        cboTipo.setSelectedItem(procesoEmpadronamiento.getIdtipoempadronamiento());
        calFechaInicio.setDate(procesoEmpadronamiento.getFechainicio());
        calFechaFin.setDate(procesoEmpadronamiento.getFechafin());
        chkAnalisisMinimo.setSelected(procesoEmpadronamiento.getIndiceminimofirmas()>0);
        chkAnalisisMuestra.setSelected(procesoEmpadronamiento.getIndicemuestraaleatoria()>0);
        txtPorcFirmas.setText(procesoEmpadronamiento.getPorcentpoblacion()+"");
        mostrarEtapas();
    }
    
    private void mostrarEtapas(){
        
        cboEstadoEtapa1.setSelectedItem(lstEtapaxproceso.get(0).getEstado());
        removerEstadosCombo(cboEstadoEtapa1);
        calFechaIniEtapa1.setDate(lstEtapaxproceso.get(0).getFechainicio());
        calFechaFinEtapa1.setDate(lstEtapaxproceso.get(0).getFechafin());
        
        cboEstadoEtapa2.setSelectedItem(lstEtapaxproceso.get(1).getEstado());
        removerEstadosCombo(cboEstadoEtapa2);
        calFechaIniEtapa2.setDate(lstEtapaxproceso.get(1).getFechainicio());
        calFechaFinEtapa2.setDate(lstEtapaxproceso.get(1).getFechafin());
        
        cboEstadoEtapa3.setSelectedItem(lstEtapaxproceso.get(2).getEstado());
        removerEstadosCombo(cboEstadoEtapa3);
        calFechaIniEtapa3.setDate(lstEtapaxproceso.get(2).getFechainicio());
        calFechaFinEtapa3.setDate(lstEtapaxproceso.get(2).getFechafin());
        
        cboEstadoEtapa4.setSelectedItem(lstEtapaxproceso.get(3).getEstado());
        removerEstadosCombo(cboEstadoEtapa4);
        calFechaIniEtapa4.setDate(lstEtapaxproceso.get(3).getFechainicio());
        calFechaFinEtapa4.setDate(lstEtapaxproceso.get(3).getFechafin());
        
        cboEstadoEtapa5.setSelectedItem(lstEtapaxproceso.get(4).getEstado());
        removerEstadosCombo(cboEstadoEtapa5);
        calFechaIniEtapa5.setDate(lstEtapaxproceso.get(4).getFechainicio());
        calFechaFinEtapa5.setDate(lstEtapaxproceso.get(4).getFechafin());
        
    }
    
    private void removerEstadosCombo(JComboBox cmb){
        int n=cmb.getSelectedIndex();
       for(int i=0;i<n;i++)cmb.removeItemAt(i);
    }
    
    public void bloquearCamposEditar(){
        txtDescripcion.setEditable(false);
        cboTipo.setEnabled(false);
        
        /**etapas del proceso*/
        
        int codEstado=procesoEmpadronamiento.getIdestadoprocesoempadronamiento().getIdestadoprocesoempadronamiento();
       
        //no se puede editar
       
        if (codEstado>2){//cancelado,inactivo
            cboEstado.setEnabled(false);
            cboTipo.setEnabled(false);
            calFechaInicio.setEnabled(false);
            calFechaFin.setEnabled(false);
            chkAnalisisMinimo.setEnabled(false);
            chkAnalisisMuestra.setEnabled(false);
            
            calFechaFinEtapa1.setEnabled(false);
            calFechaFinEtapa2.setEnabled(false);
            calFechaFinEtapa3.setEnabled(false);
            calFechaFinEtapa4.setEnabled(false);
            calFechaFinEtapa5.setEnabled(false);
            calFechaIniEtapa1.setEnabled(false);
            calFechaIniEtapa2.setEnabled(false);
            calFechaIniEtapa3.setEnabled(false);
            calFechaIniEtapa4.setEnabled(false);
            calFechaIniEtapa5.setEnabled(false);

            cboEstadoEtapa1.setEnabled(false);
            cboEstadoEtapa2.setEnabled(false);
            cboEstadoEtapa3.setEnabled(false);
            cboEstadoEtapa4.setEnabled(false);
            cboEstadoEtapa5.setEnabled(false);
            btnGuardar.setEnabled(false);
        }else{
            cboEstado.setEnabled(true);
            removerEstadosCombo(cboEstado);
            if (codEstado==2)
                calFechaInicio.setEnabled(false);
            boolean estFin=false;
            boolean estProg=false;
            estFin=lstEtapaxproceso.get(0).getEstado().equals("Ejecutado");
            estProg=lstEtapaxproceso.get(0).getEstado().equals("En progreso");
            cboEstadoEtapa1.setEnabled(!estFin);
            calFechaIniEtapa1.setEnabled(!(estFin || estProg));
            calFechaFinEtapa1.setEnabled(!estFin);
            cboEstadoEtapa1.setEnabled(!(codEstado==1));
            
            estFin=lstEtapaxproceso.get(1).getEstado().equals("Ejecutado");
            estProg=lstEtapaxproceso.get(1).getEstado().equals("En progreso");
            cboEstadoEtapa2.setEnabled(!estFin);
            calFechaIniEtapa2.setEnabled(!(estFin || estProg));
            calFechaFinEtapa2.setEnabled(!estFin);
            cboEstadoEtapa2.setEnabled(!(codEstado==1));
            
            estFin=lstEtapaxproceso.get(2).getEstado().equals("Ejecutado");
            estProg=lstEtapaxproceso.get(2).getEstado().equals("En progreso");
            cboEstadoEtapa3.setEnabled(!estFin);
            calFechaIniEtapa3.setEnabled(!(estFin || estProg));
            calFechaFinEtapa3.setEnabled(!estFin);
            cboEstadoEtapa3.setEnabled(!(codEstado==1));
            
            estFin=lstEtapaxproceso.get(3).getEstado().equals("Ejecutado");
            estProg=lstEtapaxproceso.get(3).getEstado().equals("En progreso");
            cboEstadoEtapa4.setEnabled(!estFin);
            calFechaIniEtapa4.setEnabled(!(estFin || estProg));
            calFechaFinEtapa4.setEnabled(!estFin);
            cboEstadoEtapa4.setEnabled(!(codEstado==1));
            
            estFin=lstEtapaxproceso.get(4).getEstado().equals("Ejecutado");
            estProg=lstEtapaxproceso.get(4).getEstado().equals("En progreso");
            cboEstadoEtapa5.setEnabled(!estFin);
            calFechaIniEtapa5.setEnabled(!(estFin || estProg));
            calFechaFinEtapa5.setEnabled(!estFin);
            cboEstadoEtapa5.setEnabled(!(codEstado==1));
        }
    }
    
    public void bloquearCamposMostrar(){
        
            txtDescripcion.setEditable(false);
            cboEstado.setEnabled(false);
            cboTipo.setEnabled(false);
            calFechaInicio.setEnabled(false);
            calFechaFin.setEnabled(false);
            chkAnalisisMinimo.setEnabled(false);
            chkAnalisisMuestra.setEnabled(false);
            txtPorcFirmas.setEditable(false);
            
            calFechaFinEtapa1.setEnabled(false);
            calFechaFinEtapa2.setEnabled(false);
            calFechaFinEtapa3.setEnabled(false);
            calFechaFinEtapa4.setEnabled(false);
            calFechaFinEtapa5.setEnabled(false);
            calFechaIniEtapa1.setEnabled(false);
            calFechaIniEtapa2.setEnabled(false);
            calFechaIniEtapa3.setEnabled(false);
            calFechaIniEtapa4.setEnabled(false);
            calFechaIniEtapa5.setEnabled(false);

            cboEstadoEtapa1.setEnabled(false);
            cboEstadoEtapa2.setEnabled(false);
            cboEstadoEtapa3.setEnabled(false);
            cboEstadoEtapa4.setEnabled(false);
            cboEstadoEtapa5.setEnabled(false);
    }
    
    public void mostrarBotonGuardar(boolean b){
         btnGuardar.setVisible(b);
    }
    
    public void setearBotonSalirCancelar(String texto){
        btnCancelar.setText(texto);
    }
    
    public void setearBotonGuardarEditar(String texto){
        btnGuardar.setText(texto);
    }
    
    public void setearTipoProceso(Tipoempadronamiento tipo){
        cboTipo.setSelectedItem(tipo);
        cboTipo.setEnabled(false);
    }
    
    private boolean validarCampos(){
    boolean valido=true;
    
    if (txtDescripcion.getText().trim().length()==0){
        verins.Utils.Mensajes.alerta("Debe ingresar descripción");
        txtDescripcion.requestFocus();
        return false;
    }
    
    if (calFechaInicio.getDate()==null) {
        verins.Utils.Mensajes.alerta("Debe ingresar la fecha de inicio");
        calFechaInicio.requestFocus();
        return false;
    }
    
    if (calFechaFin.getDate()==null) {
        verins.Utils.Mensajes.alerta("Debe ingresar la fecha fin ");
        calFechaFin.requestFocus();
        return false;
    }
    
    if (calFechaFin.getDate().compareTo(calFechaInicio.getDate())<=0){
        verins.Utils.Mensajes.alerta("La fecha fin debe ser mayor a la fecha inicio ");
        return false;
    }
    
    //las etapas
    if (calFechaIniEtapa1.getDate()==null
         || calFechaFinEtapa1.getDate()==null){
         verins.Utils.Mensajes.alerta("Debe ingresar fecha en la etapa 1 ");
        calFechaIniEtapa1.requestFocus();
        return false;
    }
    if (calFechaIniEtapa2.getDate()==null
         || calFechaFinEtapa2.getDate()==null){
         verins.Utils.Mensajes.alerta("Debe ingresar fecha en la etapa 2");
        calFechaIniEtapa2.requestFocus();
        return false;
    }   
    if (calFechaIniEtapa3.getDate()==null
         || calFechaFinEtapa3.getDate()==null){
         verins.Utils.Mensajes.alerta("Debe ingresar fecha en la etapa 3");
        calFechaIniEtapa3.requestFocus();
        return false;
    }
    if (calFechaIniEtapa4.getDate()==null
         || calFechaFinEtapa4.getDate()==null){
         verins.Utils.Mensajes.alerta("Debe ingresar fecha en la etapa 4");
        calFechaIniEtapa4.requestFocus();
        return false;
    }
    if (calFechaIniEtapa5.getDate()==null
         || calFechaFinEtapa5.getDate()==null){
         verins.Utils.Mensajes.alerta("Debe ingresar fecha en la etapa 5");
        calFechaIniEtapa5.requestFocus();
        return false;
    }
    //verificacion entre inicio fin x etapa
    if (calFechaFinEtapa1.getDate().compareTo(calFechaIniEtapa1.getDate())<=0){
        verins.Utils.Mensajes.alerta("Primera etapa: La fecha fin debe ser mayor a la fecha inicio ");
        return false;
    }
    if (calFechaFinEtapa2.getDate().compareTo(calFechaIniEtapa2.getDate())<=0){
        verins.Utils.Mensajes.alerta("Segunda etapa: La fecha fin debe ser mayor a la fecha inicio ");
        return false;
    }
    if (calFechaFinEtapa3.getDate().compareTo(calFechaIniEtapa3.getDate())<=0){
        verins.Utils.Mensajes.alerta("Tercera etapa: La fecha fin debe ser mayor a la fecha inicio ");
        return false;
    }
    if (calFechaFinEtapa4.getDate().compareTo(calFechaIniEtapa4.getDate())<=0){
        verins.Utils.Mensajes.alerta("Cuarta etapa: La fecha fin debe ser mayor a la fecha inicio ");
        return false;
    }
    if (calFechaFinEtapa5.getDate().compareTo(calFechaIniEtapa5.getDate())<=0){
        verins.Utils.Mensajes.alerta("Quinta etapa: La fecha fin debe ser mayor a la fecha inicio ");
        return false;
    }
    
    
    //verificaicon contra proceso
    if (((calFechaIniEtapa1.getDate().compareTo(calFechaInicio.getDate())<0)
            || (calFechaIniEtapa1.getDate().compareTo(calFechaFin.getDate())>0))
            || ((calFechaFinEtapa1.getDate().compareTo(calFechaInicio.getDate())<0)
            || (calFechaFinEtapa1.getDate().compareTo(calFechaFin.getDate())>0))
            ){
        verins.Utils.Mensajes.alerta("Las fechas  de la primera etapa están fuera de rango del proceso");
        return false;
    }
    if (((calFechaIniEtapa2.getDate().compareTo(calFechaInicio.getDate())<0)
            || (calFechaIniEtapa2.getDate().compareTo(calFechaFin.getDate())>0))
            || ((calFechaFinEtapa2.getDate().compareTo(calFechaInicio.getDate())<0)
            || (calFechaFinEtapa2.getDate().compareTo(calFechaFin.getDate())>0))
            ){
        verins.Utils.Mensajes.alerta("Las fechas  de la segunda etapa están fuera de rango del proceso");
        return false;
    }
    if (((calFechaIniEtapa3.getDate().compareTo(calFechaInicio.getDate())<0)
            || (calFechaIniEtapa3.getDate().compareTo(calFechaFin.getDate())>0))
            || ((calFechaFinEtapa3.getDate().compareTo(calFechaInicio.getDate())<0)
            || (calFechaFinEtapa3.getDate().compareTo(calFechaFin.getDate())>0))
            ){
        verins.Utils.Mensajes.alerta("Las fechas  de la tercera etapa están fuera de rango del proceso");
        return false;
    }
    if (((calFechaIniEtapa4.getDate().compareTo(calFechaInicio.getDate())<0)
            || (calFechaIniEtapa4.getDate().compareTo(calFechaFin.getDate())>0))
            || ((calFechaFinEtapa4.getDate().compareTo(calFechaInicio.getDate())<0)
            || (calFechaFinEtapa4.getDate().compareTo(calFechaFin.getDate())>0))
            ){
        verins.Utils.Mensajes.alerta("Las fechas  de la cuarta etapa están fuera de rango del proceso");
        return false;
    }
    
    if (((calFechaIniEtapa5.getDate().compareTo(calFechaInicio.getDate())<0)
            || (calFechaIniEtapa5.getDate().compareTo(calFechaFin.getDate())>0))
            || ((calFechaFinEtapa5.getDate().compareTo(calFechaInicio.getDate())<0)
            || (calFechaFinEtapa5.getDate().compareTo(calFechaFin.getDate())>0))
            ){
        verins.Utils.Mensajes.alerta("Las fechas  de la quinta etapa están fuera de rango del proceso");
        return false;
    }
    /*
     if (cboEstadoEtapa5.getSelectedIndex()>0){//en progreso
            if (!cboEstadoEtapa4.getSelectedItem().toString().equals("Ejecutado")){
                verins.Utils.Mensajes.alerta("Todavía no se puede ejecutar la quinta etapa");
                cboEstadoEtapa5.setSelectedIndex(0);
                return false;
            }
        }*/
        
    return valido;
    }
    
    public void ocultarBotonEditar(){
        btnGuardar.setVisible(false);
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        panelDatos = new javax.swing.JPanel();
        lblDescripcion = new javax.swing.JLabel();
        txtDescripcion = new javax.swing.JTextField();
        lblFechaInicio = new javax.swing.JLabel();
        lblFechaFin = new javax.swing.JLabel();
        chkAnalisisMinimo = new javax.swing.JCheckBox();
        chkAnalisisMuestra = new javax.swing.JCheckBox();
        cboTipo = new javax.swing.JComboBox();
        lblTipo = new javax.swing.JLabel();
        cboEstado = new javax.swing.JComboBox();
        lblEstado = new javax.swing.JLabel();
        calFechaInicio = new com.toedter.calendar.JDateChooser();
        calFechaFin = new com.toedter.calendar.JDateChooser();
        lblProcesoElectoral = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        txtPorcFirmas = new javax.swing.JTextField();
        panelEtapas = new javax.swing.JPanel();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jLabel12 = new javax.swing.JLabel();
        cboEstadoEtapa1 = new javax.swing.JComboBox();
        jLabel13 = new javax.swing.JLabel();
        jLabel14 = new javax.swing.JLabel();
        jLabel15 = new javax.swing.JLabel();
        calFechaIniEtapa1 = new com.toedter.calendar.JDateChooser();
        calFechaFinEtapa1 = new com.toedter.calendar.JDateChooser();
        cboEstadoEtapa2 = new javax.swing.JComboBox();
        cboEstadoEtapa3 = new javax.swing.JComboBox();
        cboEstadoEtapa4 = new javax.swing.JComboBox();
        cboEstadoEtapa5 = new javax.swing.JComboBox();
        calFechaIniEtapa2 = new com.toedter.calendar.JDateChooser();
        calFechaIniEtapa3 = new com.toedter.calendar.JDateChooser();
        calFechaIniEtapa4 = new com.toedter.calendar.JDateChooser();
        calFechaIniEtapa5 = new com.toedter.calendar.JDateChooser();
        calFechaFinEtapa2 = new com.toedter.calendar.JDateChooser();
        calFechaFinEtapa3 = new com.toedter.calendar.JDateChooser();
        calFechaFinEtapa4 = new com.toedter.calendar.JDateChooser();
        calFechaFinEtapa5 = new com.toedter.calendar.JDateChooser();
        btnGuardar = new javax.swing.JButton();
        btnCancelar = new javax.swing.JButton();
        lnkProcEmpad1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Proceso de empadronamiento");
        setResizable(false);

        panelDatos.setBorder(javax.swing.BorderFactory.createTitledBorder("Datos de proceso"));

        lblDescripcion.setText("Descripción");

        txtDescripcion.setText("INSCRIPCIÓN ELECCIONES PRESINDECIALES 2011");

        lblFechaInicio.setText("Fecha inicio");

        lblFechaFin.setText("Fecha fin");

        chkAnalisisMinimo.setText("Análisis  mínimo de firmas");
        chkAnalisisMinimo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chkAnalisisMinimoActionPerformed(evt);
            }
        });

        chkAnalisisMuestra.setText("Análisis por muestreo");
        chkAnalisisMuestra.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chkAnalisisMuestraActionPerformed(evt);
            }
        });

        lblTipo.setText("Tipo empadronamiento");

        cboEstado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cboEstadoActionPerformed(evt);
            }
        });

        lblEstado.setText("Estado");

        calFechaInicio.setDateFormatString("dd-MM-yyyy");

        calFechaFin.setDateFormatString("dd-MM-yyyy");

        lblProcesoElectoral.setText("NOMBRE DE PROCESO ELECTORAL");

        jLabel1.setText("% Población");

        txtPorcFirmas.setEnabled(false);

        javax.swing.GroupLayout panelDatosLayout = new javax.swing.GroupLayout(panelDatos);
        panelDatos.setLayout(panelDatosLayout);
        panelDatosLayout.setHorizontalGroup(
            panelDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelDatosLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(panelDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(panelDatosLayout.createSequentialGroup()
                        .addGroup(panelDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(panelDatosLayout.createSequentialGroup()
                                .addComponent(lblDescripcion)
                                .addGap(18, 18, 18)
                                .addComponent(txtDescripcion, javax.swing.GroupLayout.PREFERRED_SIZE, 356, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(panelDatosLayout.createSequentialGroup()
                                .addGroup(panelDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addGroup(panelDatosLayout.createSequentialGroup()
                                        .addComponent(lblFechaInicio)
                                        .addGap(18, 18, 18)
                                        .addComponent(calFechaInicio, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(18, 18, 18)
                                        .addComponent(lblFechaFin))
                                    .addComponent(jLabel1))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addGroup(panelDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(txtPorcFirmas, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(calFechaFin, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE))))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(panelDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(lblEstado)
                            .addComponent(lblTipo))
                        .addGap(18, 18, 18)
                        .addGroup(panelDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(cboTipo, 0, 130, Short.MAX_VALUE)
                            .addComponent(cboEstado, 0, 130, Short.MAX_VALUE))
                        .addGap(66, 66, 66))
                    .addGroup(panelDatosLayout.createSequentialGroup()
                        .addComponent(lblProcesoElectoral)
                        .addContainerGap(614, Short.MAX_VALUE))
                    .addGroup(panelDatosLayout.createSequentialGroup()
                        .addGroup(panelDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(chkAnalisisMuestra)
                            .addComponent(chkAnalisisMinimo))
                        .addContainerGap(657, Short.MAX_VALUE))))
        );
        panelDatosLayout.setVerticalGroup(
            panelDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelDatosLayout.createSequentialGroup()
                .addComponent(lblProcesoElectoral)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 13, Short.MAX_VALUE)
                .addGroup(panelDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(panelDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(lblDescripcion)
                        .addComponent(txtDescripcion, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(panelDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(cboEstado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(lblEstado)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(panelDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(cboTipo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lblTipo)
                    .addComponent(calFechaFin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lblFechaFin)
                    .addComponent(lblFechaInicio)
                    .addComponent(calFechaInicio, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGroup(panelDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(panelDatosLayout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addComponent(chkAnalisisMinimo)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(chkAnalisisMuestra))
                    .addGroup(panelDatosLayout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addGroup(panelDatosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtPorcFirmas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel1))))
                .addContainerGap())
        );

        panelEtapas.setBorder(javax.swing.BorderFactory.createTitledBorder("Etapas"));

        jLabel6.setText("Venta de padrones");

        jLabel7.setText("Recolección de firmas");

        jLabel10.setText("Verificación de padrones");

        jLabel11.setText("Revisión de resultados");

        jLabel12.setText("Publicación de resultados");

        cboEstadoEtapa1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Pendiente", "En progreso", "Finalizada" }));
        cboEstadoEtapa1.setEnabled(false);

        jLabel13.setText("Estado");

        jLabel14.setText("Fecha inicio");

        jLabel15.setText("Fecha fin");

        calFechaIniEtapa1.setDateFormatString("dd-MM-yyyy");

        calFechaFinEtapa1.setDateFormatString("dd-MM-yyyy");

        cboEstadoEtapa2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Pendiente", "En progreso", "Ejecutado" }));

        cboEstadoEtapa3.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Pendiente", "En progreso", "Ejecutado" }));

        cboEstadoEtapa4.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Pendiente", "En progreso", "Ejecutado" }));

        cboEstadoEtapa5.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Pendiente", "En progreso", "Ejecutado" }));
        cboEstadoEtapa5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cboEstadoEtapa5ActionPerformed(evt);
            }
        });

        calFechaIniEtapa2.setDateFormatString("dd-MM-yyyy");

        calFechaIniEtapa3.setDateFormatString("dd-MM-yyyy");

        calFechaIniEtapa4.setDateFormatString("dd-MM-yyyy");

        calFechaIniEtapa5.setDateFormatString("dd-MM-yyyy");

        calFechaFinEtapa2.setDateFormatString("dd-MM-yyyy");

        calFechaFinEtapa3.setDateFormatString("dd-MM-yyyy");

        calFechaFinEtapa4.setDateFormatString("dd-MM-yyyy");

        calFechaFinEtapa5.setDateFormatString("dd-MM-yyyy");

        javax.swing.GroupLayout panelEtapasLayout = new javax.swing.GroupLayout(panelEtapas);
        panelEtapas.setLayout(panelEtapasLayout);
        panelEtapasLayout.setHorizontalGroup(
            panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelEtapasLayout.createSequentialGroup()
                .addGap(34, 34, 34)
                .addGroup(panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelEtapasLayout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 272, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jLabel13)
                        .addGap(133, 133, 133)
                        .addComponent(jLabel14)
                        .addGap(117, 117, 117)
                        .addComponent(jLabel15)
                        .addGap(52, 52, 52))
                    .addGroup(panelEtapasLayout.createSequentialGroup()
                        .addGroup(panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(panelEtapasLayout.createSequentialGroup()
                                .addComponent(jLabel12)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(cboEstadoEtapa5, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(panelEtapasLayout.createSequentialGroup()
                                .addComponent(jLabel11)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(cboEstadoEtapa4, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(panelEtapasLayout.createSequentialGroup()
                                .addComponent(jLabel10)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(cboEstadoEtapa3, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(panelEtapasLayout.createSequentialGroup()
                                .addComponent(jLabel7)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(cboEstadoEtapa2, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(panelEtapasLayout.createSequentialGroup()
                                .addComponent(jLabel6)
                                .addGap(60, 60, 60)
                                .addComponent(cboEstadoEtapa1, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 101, Short.MAX_VALUE)
                        .addGroup(panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(calFechaIniEtapa1, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(calFechaIniEtapa2, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(calFechaIniEtapa3, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(calFechaIniEtapa4, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(calFechaIniEtapa5, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 92, Short.MAX_VALUE)
                        .addGroup(panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(calFechaFinEtapa5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(calFechaFinEtapa4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(calFechaFinEtapa3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(calFechaFinEtapa2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(calFechaFinEtapa1, javax.swing.GroupLayout.PREFERRED_SIZE, 124, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addGap(69, 69, 69))
        );
        panelEtapasLayout.setVerticalGroup(
            panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelEtapasLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel13)
                    .addComponent(jLabel14)
                    .addComponent(jLabel15))
                .addGap(18, 18, 18)
                .addGroup(panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(panelEtapasLayout.createSequentialGroup()
                        .addComponent(calFechaIniEtapa1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 25, Short.MAX_VALUE)
                        .addComponent(calFechaIniEtapa2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(panelEtapasLayout.createSequentialGroup()
                        .addGroup(panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel6)
                            .addComponent(cboEstadoEtapa1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(25, 25, 25)
                        .addGroup(panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel7)
                            .addComponent(cboEstadoEtapa2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(panelEtapasLayout.createSequentialGroup()
                        .addComponent(calFechaFinEtapa1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 25, Short.MAX_VALUE)
                        .addComponent(calFechaFinEtapa2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(24, 24, 24)
                .addGroup(panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel10)
                        .addComponent(cboEstadoEtapa3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(calFechaIniEtapa3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(calFechaFinEtapa3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(24, 24, 24)
                .addGroup(panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel11)
                        .addComponent(cboEstadoEtapa4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(calFechaIniEtapa4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(calFechaFinEtapa4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(27, 27, 27)
                .addGroup(panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(panelEtapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel12)
                        .addComponent(cboEstadoEtapa5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(calFechaIniEtapa5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(calFechaFinEtapa5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(24, 24, 24))
        );

        btnGuardar.setText("Guardar");
        btnGuardar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGuardarActionPerformed(evt);
            }
        });

        btnCancelar.setText("Cancelar");
        btnCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCancelarActionPerformed(evt);
            }
        });

        lnkProcEmpad1.setBackground(javax.swing.UIManager.getDefaults().getColor("Desktop.background"));
        lnkProcEmpad1.setForeground(java.awt.Color.blue);
        lnkProcEmpad1.setText("ver partidos políticos participantes...");
        lnkProcEmpad1.setBorderPainted(false);
        lnkProcEmpad1.setContentAreaFilled(false);
        lnkProcEmpad1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        lnkProcEmpad1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                lnkProcEmpad1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(panelDatos, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(lnkProcEmpad1, javax.swing.GroupLayout.PREFERRED_SIZE, 304, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 360, Short.MAX_VALUE)
                        .addComponent(btnGuardar, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btnCancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(panelEtapas, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(panelDatos, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGap(18, 18, 18)
                .addComponent(panelEtapas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnCancelar)
                    .addComponent(btnGuardar)
                    .addComponent(lnkProcEmpad1, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

   
 

    private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed
        try{
            if (((JButton)evt.getSource()).getText().equalsIgnoreCase("cancelar")
                    && procesoEmpadronamiento.getIdestadoprocesoempadronamiento()!=null
                    && procesoEmpadronamiento.getIdestadoprocesoempadronamiento().getIdestadoprocesoempadronamiento()!=null
                    && procesoEmpadronamiento.getIdestadoprocesoempadronamiento().getIdestadoprocesoempadronamiento()!=3
                    && procesoEmpadronamiento.getIdestadoprocesoempadronamiento().getIdestadoprocesoempadronamiento()!=4){
                if (verins.Utils.Mensajes.cancelar(evt,this)){
                    this.dispose();
                }
            }else{//salir
                this.dispose();
            }
        }catch(Exception ex){
            dispose();
        }
    }//GEN-LAST:event_btnCancelarActionPerformed

    private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGuardarActionPerformed
       
        if (((JButton)evt.getSource()).getText().equalsIgnoreCase("guardar")){
            if(validarCampos()){
                if (verins.Utils.Mensajes.guardar(evt, this)){
                    procesoEmpadronamiento=obtenerDatos();
                    if(verins.Utils.Mensajes.exito(ProcesoEmpadronamientoBO.guardarProcesoEmp(procesoEmpadronamiento, lstEtapaxproceso,usuario))){
                        this.dispose();
                    }

                   // ((frmBusquedaProcesoEmpad)caller).llenarTabla();
                }
            }
        }else{//
            bloquearCamposEditar();
            setearBotonGuardarEditar("Guardar");
            setearBotonSalirCancelar("Cancelar");
        }
    }//GEN-LAST:event_btnGuardarActionPerformed

    private void cboEstadoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cboEstadoActionPerformed
        // TODO add your handling code herecbo.
        int estado=((Estadoprocesoempadronamiento)cboEstado.getSelectedItem()).getIdestadoprocesoempadronamiento();
        if (estado<3 ){
            cboEstadoEtapa1.setEnabled(true);
            cboEstadoEtapa2.setEnabled(true);
            cboEstadoEtapa3.setEnabled(true);
            cboEstadoEtapa4.setEnabled(true);
            cboEstadoEtapa5.setEnabled(true);
            calFechaIniEtapa1.setEnabled(true);
            calFechaFinEtapa1.setEnabled(true);
            calFechaIniEtapa2.setEnabled(true);
            calFechaFinEtapa2.setEnabled(true);
            calFechaIniEtapa3.setEnabled(true);
            calFechaFinEtapa3.setEnabled(true);
            calFechaIniEtapa4.setEnabled(true);
            calFechaFinEtapa4.setEnabled(true);
            calFechaIniEtapa5.setEnabled(true);
            calFechaFinEtapa5.setEnabled(true);
        }else{
            cboEstadoEtapa1.setEnabled(false);
            cboEstadoEtapa2.setEnabled(false);
            cboEstadoEtapa3.setEnabled(false);
            cboEstadoEtapa4.setEnabled(false);
            cboEstadoEtapa5.setEnabled(false);
           // if (estado==3){//inactivo
                calFechaIniEtapa1.setEnabled(false);
                calFechaFinEtapa1.setEnabled(false);
                calFechaIniEtapa2.setEnabled(false);
                calFechaFinEtapa2.setEnabled(false);
                calFechaIniEtapa3.setEnabled(false);
                calFechaFinEtapa3.setEnabled(false);
                calFechaIniEtapa4.setEnabled(false);
                calFechaFinEtapa4.setEnabled(false);
                calFechaIniEtapa5.setEnabled(false);
                calFechaFinEtapa5.setEnabled(false);
                lnkProcEmpad1.setVisible(false);
           // }
        }
    }//GEN-LAST:event_cboEstadoActionPerformed

    private void lnkProcEmpad1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_lnkProcEmpad1ActionPerformed
        // TODO add your handling code here:
        frmPartPolXProcEmp frm=new frmPartPolXProcEmp(procesoEmpadronamiento,this);
        frm.setearBotonGuardarEditar("Editar");
        frm.setearBotonSalirCancelar("Salir");
        frm.mostrarBotonesGrilla(false);
        frm.setVisible(true);
        
        
}//GEN-LAST:event_lnkProcEmpad1ActionPerformed

    private void chkAnalisisMinimoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkAnalisisMinimoActionPerformed
        // TODO add your handling code here:
        txtPorcFirmas.setEnabled(!txtPorcFirmas.isEnabled());
        txtPorcFirmas.setText("");
    }//GEN-LAST:event_chkAnalisisMinimoActionPerformed

    private void chkAnalisisMuestraActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkAnalisisMuestraActionPerformed
        // TODO add your handling code here:
         txtPorcFirmas.setEnabled(!txtPorcFirmas.isEnabled());
         txtPorcFirmas.setText("");
    }//GEN-LAST:event_chkAnalisisMuestraActionPerformed

    private void cboEstadoEtapa5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cboEstadoEtapa5ActionPerformed
        // TODO add your handling code here:
        
    }//GEN-LAST:event_cboEstadoEtapa5ActionPerformed


   
    /**
    * @param args the command line arguments
    */
   

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnCancelar;
    private javax.swing.JButton btnGuardar;
    private com.toedter.calendar.JDateChooser calFechaFin;
    private com.toedter.calendar.JDateChooser calFechaFinEtapa1;
    private com.toedter.calendar.JDateChooser calFechaFinEtapa2;
    private com.toedter.calendar.JDateChooser calFechaFinEtapa3;
    private com.toedter.calendar.JDateChooser calFechaFinEtapa4;
    private com.toedter.calendar.JDateChooser calFechaFinEtapa5;
    private com.toedter.calendar.JDateChooser calFechaIniEtapa1;
    private com.toedter.calendar.JDateChooser calFechaIniEtapa2;
    private com.toedter.calendar.JDateChooser calFechaIniEtapa3;
    private com.toedter.calendar.JDateChooser calFechaIniEtapa4;
    private com.toedter.calendar.JDateChooser calFechaIniEtapa5;
    private com.toedter.calendar.JDateChooser calFechaInicio;
    private javax.swing.JComboBox cboEstado;
    private javax.swing.JComboBox cboEstadoEtapa1;
    private javax.swing.JComboBox cboEstadoEtapa2;
    private javax.swing.JComboBox cboEstadoEtapa3;
    private javax.swing.JComboBox cboEstadoEtapa4;
    private javax.swing.JComboBox cboEstadoEtapa5;
    private javax.swing.JComboBox cboTipo;
    private javax.swing.JCheckBox chkAnalisisMinimo;
    private javax.swing.JCheckBox chkAnalisisMuestra;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel lblDescripcion;
    private javax.swing.JLabel lblEstado;
    private javax.swing.JLabel lblFechaFin;
    private javax.swing.JLabel lblFechaInicio;
    private javax.swing.JLabel lblProcesoElectoral;
    private javax.swing.JLabel lblTipo;
    private javax.swing.JButton lnkProcEmpad1;
    private javax.swing.JPanel panelDatos;
    private javax.swing.JPanel panelEtapas;
    private javax.swing.JTextField txtDescripcion;
    private javax.swing.JTextField txtPorcFirmas;
    // End of variables declaration//GEN-END:variables

}
